package cn.com.bluemoon.daps.standard.dto;

import com.baomidou.mybatisplus.annotation.TableField;

import java.util.concurrent.atomic.AtomicBoolean;

/**
 * @author Jarod.Kong
 * @date 2020/8/27 13:52
 */
public interface IExcelSourceModel {
    /**
     * 增加一个标识数据来源，分为系统录入，Excel导入，而Excel导入跳过入库的校验过程
     */
    @TableField(exist = false)
    AtomicBoolean BOOL = new AtomicBoolean(false);

    /**
     * @return 标识数据来源，来源于系统录入还是excel导入，提供后续判断，进行隔离操作
     */
    default boolean getDataSourceFromExcel() {
        return BOOL.get();
    }

    /**
     * 标识数据来源，来源于系统录入还是excel导入，提供后续判断，进行隔离操作
     * 设置数据源来源于
     *
     * @param dataSourceFromExcel 标识数据来源，来源于系统录入还是excel导入，提供后续判断，进行隔离操作
     */
    default void setDataSourceFromExcel(boolean dataSourceFromExcel) {
        BOOL.set(dataSourceFromExcel);
    }

}
